package com.caigou.mapper.cms;

import com.caigou.bean.cms.entity.Audio;
import com.caigou.bean.cms.param.AudioQueryParam;
import com.caigou.bean.cms.param.AudioRecycleQueryParam;
import com.caigou.bean.cms.param.AudioUseParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AudioMapper {
    Audio selectByPrimaryKey(Integer id);
    int deleteByPrimaryKey(Integer id);
    int insert(Audio audio);
    int insertSelective(Audio audio);
    int updateByPrimaryKey(Audio audio);
    List<Audio>  queryAudio(@Param("folderId")Integer folderId, @Param("keyword")String keyword);
    List<Audio> queryAudioByPath(@Param("path")String path, @Param("keyword")String keyword);
    List<Audio> advancedQueryAudioByPath(AudioQueryParam audioQueryParam);
    int updateAudio(Audio audio);
    Long getAudioTotalSize();
    int updateAudioUse(AudioUseParam audioUseParam);
    int getAudioCount(@Param("folderId")Integer folderId);
    List<Audio> queryAudioInRecycle(AudioRecycleQueryParam audioRecycleQueryParam);
    List<Integer> listAudioIdInRecycle();
}
